﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ЖурналРегистрации
	{
		////////////////////////////////////////////////////////////////////////////////
		// ЭКСПОРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
		// Процедура выполняет чтение событий журнала регистрации в соответствии с установленным отбором
		//
		// Параметры:
		//	Журнал	- ДанныеФормыКоллекция, содержащая записи журнала регистрации
		//	ОтборЖурналаНаКлиенте - Структура, настройки отбора для чтения записей журнала регистрации
		//	КоличествоСобытий - Число, ограничивает число считываемых событий журнала
		//	УникальныйИдентификатор - УникальныйИдентификатор, уникальный идентификатор формы
		//	МенеджерВладельца - менеджер объекта, в форме которого отображается журнал регистрации,
		//						необходим для обратного вызова функций оформления
		//	ДобавлятьДополнительныеКолонки - Булево, определяет необходимость обратного вызова для добавления дополнительных колонок
		//

		public void ПрочитатьСобытияЖурналаРегистрации(/*Журнал, ОтборЖурналаНаКлиенте, КоличествоСобытий, УникальныйИдентификатор, МенеджерВладельца, ДобавлятьДополнительныеКолонки = Ложь*/)
		{
			/*// Удаление ранее подготовленных временных данных
*/
			//ОписанияАдресов = Журнал.Выгрузить(, "АдресДанных");
			//ОписанияАдресов.Свернуть("АдресДанных");
			/*// Подготовка Отбора
*/
			//Отбор = Новый Структура;
			//ПреобразованиеОтбора(Отбор);
			/*// Выгрузка отбираемых событий
*/
			//СобытияЖурнала = Новый ТаблицаЗначений;
			//ВыгрузитьЖурналРегистрации(СобытияЖурнала, Отбор, , , КоличествоСобытий);
			//СобытияЖурнала.Колонки.Добавить("НомерРисунка", Новый ОписаниеТипов("Число"));
			//СобытияЖурнала.Колонки.Добавить("АдресДанных",  Новый ОписаниеТипов("Строка"));
			//ПравилаУстановкиРисунка = Неопределено;
			if(true/*ДобавлятьДополнительныеКолонки*/)
			{
				/*// Добавление дополнительных колонок
*/
				//МенеджерВладельца.ДобавитьДополнительныеКолонкиСобытия(СобытияЖурнала);
			}
			//ЗначениеВДанныеФормы(СобытияЖурнала, Журнал);
		}
		// ПрочитатьСобытияЖурналаРегистрации
		// Процедура создает пользовательское представление отбора журнала регистрации
		//
		// Параметры:
		//	ПредставлениеОтбора - Строка, строка, содержащая пользовательское представление отбора
		//	ОтборЖурналаРегистрации - Структура, значения отбора журнала регистрации
		//	ОтборЖурналаРегистрацииПоУмолчанию - Структура, значения отбора журнала регистрации по умолчанию
		//										(не включаются в пользовательское представления)
		//

		public void СформироватьПредставлениеОтбора(/*ПредставлениеОтбора, ОтборЖурналаРегистрации, ОтборЖурналаРегистрацииПоУмолчанию = Неопределено*/)
		{
			//ПредставлениеОтбора = "";
			/*// Интервал
*/
			//ДатаНачалаИнтервала    = Неопределено;
			//ДатаОкончанияИнтервала = Неопределено;
			if(true/*Не ОтборЖурналаРегистрации.Свойство("ДатаНачала", ДатаНачалаИнтервала) Или
		 ДатаНачалаИнтервала = Неопределено*/)
			{
				//ДатаНачалаИнтервала    = '00010101000000';
			}
			if(true/*Не ОтборЖурналаРегистрации.Свойство("ДатаОкончания", ДатаОкончанияИнтервала) Или
		 ДатаОкончанияИнтервала = Неопределено*/)
			{
				//ДатаОкончанияИнтервала = '00010101000000';
			}
			if(true/*Не (ДатаНачалаИнтервала = '00010101000000' И ДатаОкончанияИнтервала = '00010101000000')*/)
			{
				//ПредставлениеОтбора = ПредставлениеПериода(ДатаНачалаИнтервала, ДатаОкончанияИнтервала);
			}
			//ДобавитьОграничениеВПредставлениеОтбора(ОтборЖурналаРегистрации, ПредставлениеОтбора, "Пользователь");
			//ДобавитьОграничениеВПредставлениеОтбора(ОтборЖурналаРегистрации, ПредставлениеОтбора, "Событие", ОтборЖурналаРегистрацииПоУмолчанию);
			//ДобавитьОграничениеВПредставлениеОтбора(ОтборЖурналаРегистрации, ПредставлениеОтбора, "ИмяПриложения", ОтборЖурналаРегистрацииПоУмолчанию);
			/*// Остальные ограничения указываем просто по представлением, без указания значений ограничения
*/
			if(true/*ПустаяСтрока(ПредставлениеОтбора)*/)
			{
				//ПредставлениеОтбора = НСтр("ru = 'Не установлен'");
			}
		}
		// СформироватьПредставлениеОтбора
		////////////////////////////////////////////////////////////////////////////////
		// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

		public void ПреобразованиеОтбора(/*Отбор*/)
		{
		}

		public void ПреобразованиеЭлементаОтбора(/*Отбор, ЭлементОтбора*/)
		{
			/*// Эта процедура вызывается, если элемент отбора является списком значений,
*/
			/*// в отборе же должен быть массив значений. Преобразуем список в массив.
*/
			//НовоеЗначение = Новый Массив;
			//Отбор.Вставить(ЭлементОтбора.Ключ, НовоеЗначение);
		}

		public void ДобавитьОграничениеВПредставлениеОтбора(/*ОтборЖурналаРегистрации, ПредставлениеОтбора, ИмяОграничения, ОтборЖурналаРегистрацииПоУмолчанию = Неопределено*/)
		{
			//СписокОграничений = "";
			//Ограничение = "";
			if(true/*ОтборЖурналаРегистрации.Свойство(ИмяОграничения, СписокОграничений)*/)
			{
				/*// Не формируем представление отбора, если его значение соответствует значению отбора по умолчанию
*/
				if(true/*ОтборЖурналаРегистрацииПоУмолчанию <> Неопределено*/)
				{
					//СписокОграниченийПоУмолчанию = "";
					if(true/*ОтборЖурналаРегистрацииПоУмолчанию.Свойство(ИмяОграничения, СписокОграниченийПоУмолчанию) И ОбщегоНазначенияКлиентСервер.СпискиЗначенийИдентичны(СписокОграниченийПоУмолчанию, СписокОграничений)*/)
					{
					}
				}
				if(true/*Не ПустаяСтрока(ПредставлениеОтбора)*/)
				{
					//ПредставлениеОтбора = ПредставлениеОтбора + "; ";
				}
				//ПредставлениеОтбора = ПредставлениеОтбора + Ограничение;
			}
		}
		// ДобавитьОграничениеВПредставлениеОтбора
	}
}
